Various business entities, such as companies, store information electronically in furtherance of their business needs. These companies may have extensive databases of information that include activity tables, product tables, service request tables, employee tables, and so on. The schemas and data models associated with these databases may be customized to help meet the business needs of the company. For example, an automotive service company may organize information about its activities in a way that is very different from the way that a computer service company may organize information about its activities. Even within a single company, that company may use many different application programs that employ very different schemas and data models. For example, a service request application program may use a data model that is very different from the data model used by a call tracking application program. The use of customized data models by a company and by applications within the company has the advantage that it allows information to be modeled in a way that is appropriate for business needs of the company. Unfortunately, because of this diversity in the data models, it is not easy for the company to share its information with other companies or for applications to share their information.
Various attempts have been made to define standard data models so that information can be more easily shared between companies and applications. However, these data models have not been able to achieve sufficient data integration and simplicity. As a result, companies have to maintain, support and upgrade multiple different data structures and maps for their products.